﻿Public Class KOWalter
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefuellstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefuellstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "WALTER"
        Armee = Armeen.GS.ToString
        Musik = "Walter"
        Bild = GetBildID()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case Else
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
        End Select
        KORange = 4
        KOname = Objektverwalter.GetKO(Bild).KOBeschreibung.Name
        KOLaden()
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        ErhoehterGegenschadenbeiEigenSchaden = 0.4#
        If OhneFunktion = False Then
            AnimationEigene("OZZYGABE", 2)
        End If
        GabeEingesetzt()
    End Sub

    Public Overrides Sub KOLaden()
        ErhoehterGegenschadenbeiEigenSchaden = 0
        GenauesLebenAnzeigen = True
        ErhoehterGegenschadenbeiEigenSchaden = 0
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafuer sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWars Then
            ErhoehterGegenschadenbeiEigenSchaden = 0.4#
            If OhneFunktion = False Then
                AnimationEigene("OZZYGABE", 2)
            End If
            GabeEingesetzt()
        Else
            If OhneFunktion = False Then
                BackbufferSpiel.AddAnimation("SCREENFLASH", 2, New Point, True, ObjektSpielfeld.TopLayer)
                VollRation()
                Lebensabrundung()
                KeinTPSehungEigene()
                KeinTPSehungFeinde()
            End If
            GabeEingesetzt()
        End If
    End Sub
    Public Overrides Function GetPowerScript(ByVal Power As Integer) As KOCustom.Power.PowerScript
        Select Case Power
            Case 2
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectRation)
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectLifeDown)
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectNoOwnLifePoints)
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectNoEnemyLifePoints)
                Return P
            Case Else
                Return Nothing
        End Select
    End Function

    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

Public Class KOBeschreibungWalter
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Walter"
        Fein = "Zungenbrecher"
        Nein = "Kolloquien"
        Beschreibung = New String() {"Walter ist ein alter", "Kriegsveteran und Anfuehrer ", "von Gold Sun.", "Er hat feindliche Invasoren", "schon oft besiegt."}
        Stil = New String() {"Er sieht die genaue TP Zahl", "von Einheiten."}
        Gabebeschreibung = New String() {"Gegner erleiden extremen", "Schaden wenn sie Walter", "angreifen."}
        'Gut gegen Menschen aber ansonsten nutzlos.
        SpezialgabeBeschreibung = New String() {"Truppen werden versorgt.", "Feindliche TP werden abgerundet und", "Gegner koennen ihre und feindliche TP", "nicht anschauen."}
        GabeKosten = 3
        Spezialgabekosten = 3
        Synergie = New Decimal() {1, 0.5#, 0.5#, 0.5#}
        Gaben = New String() {"Memento", "Magnum Opus"}
        KONamen = New String() {"AMY", "OLAF", "CARRIE", "KOSHI"}
        Doppelgabenamen = New String() {"Lord und Lady", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe"}
        Gabesaetze = New String() {"Groessere Gegner haben bereits gegen mich verloren!" _
                                      , "Fuer Brown Tundra werde ich dich besiegen." _
                                      , "Ich bin der staerkste Narr, denn du je sehen wirst." _
                                      , "Moral ist der Schluessel zum Erfolg, aber du siehst... schlecht ausgeruestet aus." _
                                      , "Ein Kampf entscheidet nicht wer recht hat, nur wer uebrig bleibt. Ich natuerlich!" _
                                      , "Die Wueste wird uns fuer immer erhalten bleiben."}
        Siegsaetze = New String() {"Eine weitere Schlacht wurde gewonnen. Brown Tundra ist vorerst sicher." _
                                , "Ha, ich habe wieder den Test der Zeit bestanden." _
                                , "Du wurdest besiegt, geschlagen und ausmoevriert."}
        Tauschsaetze = New String() {"Es ist Zeit sie nieder zuringen." _
                                    , "...Noch ein bisschen laenger."}
        Doppelgabesaetze = New DoppelGabesatz() {New DoppelGabesatz("AMY", "WALTER", "Ich habe viel Wissen ueber Explosionen. Soll ich sie dir erklaeren?", "Ich habe 20 Jahre Erfahrungen gesammelt. Ich brauche keine Theorien.") _
                                              , New DoppelGabesatz("AMY", "WALTER", "Fuer die freien und gluecklichen Menschen.", "Du bist lustig. Manchmal bist du so naiv.") _
                                              , New DoppelGabesatz("WALTER", "AMY", "Wir koennten Ewigkeiten in den Kosmos schauen.", "Ist das nicht amuesant? Die ganze Zeit ins nichts schauen.") _
                                              , New DoppelGabesatz("WALTER", "AMY", "Der Kosmos kann nicht geordnet werden in die Entropie nimmt immer zu.", "Mit unseren Faehigkeiten wird der Kosmos nie untergehen.")}
        Niederlagesaetze = New String() {"Eine Niederlage? Jetzt weiss ich wie sich meine Gegner fuehlen.", _
                                        "Krieg hat noch nie gutes Hervorgebracht genau wie diese Niederlage."}
    End Sub
End Class

